class Ogxtrainee < ActiveRecord::Base

  validates_presence_of :nombre

	has_one			:estado_trainee
	belongs_to	:estado_trainee
	has_one			:ogxcurriculum, :dependent => :destroy
	
	
	# Busca todos los estados de trainees
	def self.listas_estados() 
		@estado_ids = Ogxtrainee.find(:all).collect(&:estado_trainee_id) 
		@estado = EstadoTrainee.find(:all, :conditions => ['id in (?)',@estado_ids])		
  end

		
	# Busca todos los trainees en un estado de trainee en particular.
  def self.search_estado(search, page, estado_id)
		paginate :per_page => 4, :page => page,
		         :order => 'id', :conditions => ['estado_trainee_id = '+estado_id]
	end
	
	# Verifica si hay estados disponibles	
	def self.hay_estados
		if EstadoTrainee.find(:all) then 
				return true
	 	else
	  		return false
		end		
	end

	# Busca todos los trainees paginando el resultado, y filtrando segun el nombre (search).
  def self.search(search, page)
  	if search
    	paginate :per_page => 3, :page => page, :order => 'id',:conditions => ['nombre LIKE ?', "%#{search}%"]
  	else
			paginate :per_page => 4, :page => page,
		           :order => 'id'
		end
	end

	# Busca todos los trainees con CV asociado
  def self.search_cv(search, page, cv)
	 @ogxtrainee_ids = Ogxcurriculum.find(:all).collect(&:ogxtrainee_id)
	 if cv == 'con' then
		 paginate :per_page => 4, :page => page,
		         :order => 'id', :conditions => ['id in (?)',@ogxtrainee_ids]
	 else 
	 		paginate :per_page => 4, :page => page,
	         :order => 'id', :conditions => ['id not in (?)',@ogxtrainee_ids]	 
	 end
	end

	# Busca todos los trainees que esten en la lista de ids.
	def self.search_individuals(search, page, ids)
	 paginate :per_page => 4, :page => page,
		         :order => 'id', :conditions => ['id in (?)',ids]
	end

end
